//////////////////////////////////////////////////////////////////////
// TextLabelManager.h
//
// SHEN Fangyang
// me@shenfy.com
//
// Copyright (C) SHEN Fangyang, 2011, All rights reserved.
//////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////
//  Brief Description
//
//	Text labels' manager
//
//////////////////////////////////////////////////////////////////////
#pragma once
#include <ManagerBase.h>
#include <ITraverse.h>
#include <TextLabel.h>

class CDXUTTextHelper;
struct ID3DX10Font;
struct ID3DX10Sprite;

namespace grflib
{
	namespace engine
	{
		namespace aux
		{
			////////////////////////////////////////
			//GUI panel manager
			class CTextLabelManager : public grflib::engine::core::_CManagerBase<CTextLabel>
			{
			public:
				CTextLabelManager();
				virtual ~CTextLabelManager();

                HRESULT OnCreateDevice(ID3D10Device *pd3dDevice, const DXGI_SURFACE_DESC *pBufferSurfaceDesc);
                HRESULT OnRender(ID3D10Device *pd3dDevice, double fTime, float fElapsedTime);
                void OnDestroy(void);

			protected:
                CDXUTTextHelper *m_pTextHelper;
				ID3DX10Font *m_pFont;
				ID3DX10Sprite *m_pSprite;
			};

		} //namespace core
	} //namespace engine
} //namespace grflib